const util = require('../../utils/util')

Page({
  data: {
    // 联系人搜索
    contactSearch: '',
    // 当前选中联系人ID
    activeContactId: 1,
    // 新消息内容
    newMessage: '',
    // 联系人列表
    contacts: [
      { id: 1, name: '张同学', avatar: '/static/images/avatar1.png', lastMessage: '你好，这个商品还在吗？', lastTime: '10:20' },
      { id: 2, name: '李同学', avatar: '/static/images/avatar2.png', lastMessage: '我明天可以来取', lastTime: '昨天' },
      { id: 3, name: '系统通知', avatar: '/static/images/avatar3.png', lastMessage: '您的订单已发货', lastTime: '昨天' },
      { id: 4, name: '王同学', avatar: '/static/images/avatar4.png', lastMessage: '拍卖即将结束', lastTime: '03-10' }
    ],
    // 消息记录
    messages: [
      { id: 1, sender: 'other', content: '你好，这个商品还在吗？', time: '10:20' },
      { id: 2, sender: 'self', content: '还在的，你需要吗？', time: '10:22' },
      { id: 3, sender: 'other', content: '对的，我想买。', time: '10:25' },
      { id: 4, sender: 'self', content: '好的，你可以直接下单。', time: '10:26' }
    ],
    // 系统通知
    notifications: [
      { id: 1, tag: '订单', type: 'success', content: '您的订单已发货，物流单号：SF123456789', time: '2025-03-10 10:30' },
      { id: 2, tag: '拍卖', type: 'warning', content: '您关注的商品"限量版球鞋"即将结束', time: '2025-03-09 15:20' },
      { id: 3, tag: '系统', type: 'info', content: '平台将于本周六凌晨进行系统维护', time: '2025-03-08 09:15' }
    ],
    // 当前活动联系人（计算属性的替代）
    activeContact: {}
  },

  onLoad() {
    // 检查登录状态
    util.checkLoginStatus();
    
    // 设置初始活动联系人
    this.updateActiveContact();
    
    // 模拟滚动到底部
    this.scrollToBottom();
  },
  
  onShow() {
    // 更新自定义tabBar选中状态
    if (typeof this.getTabBar === 'function') {
      this.getTabBar().setData({
        selected: 3
      });
    }
  },
  
  // 返回首页
  goToHome() {
    wx.switchTab({
      url: '/pages/index/index'
    });
  },
  
  // 更新筛选后的联系人列表
  filterContacts() {
    const search = this.data.contactSearch;
    if (!search) {
      return this.data.contacts;
    }
    
    return this.data.contacts.filter(contact => 
      contact.name.includes(search)
    );
  },
  
  // 更新当前活动联系人
  updateActiveContact() {
    const activeId = this.data.activeContactId;
    const activeContact = this.data.contacts.find(c => c.id === activeId) || this.data.contacts[0];
    
    this.setData({
      activeContact: activeContact
    });
  },
  
  // 搜索联系人输入
  onSearchInput(e) {
    this.setData({
      contactSearch: e.detail.value
    });
  },
  
  // 选择联系人
  selectContact(e) {
    const id = parseInt(e.currentTarget.dataset.id);
    
    this.setData({
      activeContactId: id
    });
    
    this.updateActiveContact();
    this.scrollToBottom();
  },
  
  // 消息输入
  inputMessage(e) {
    this.setData({
      newMessage: e.detail.value
    });
  },
  
  // 发送消息
  sendMessage() {
    const content = this.data.newMessage.trim();
    if (!content) return;
    
    const now = new Date();
    const time = now.getHours() + ':' + (now.getMinutes() < 10 ? '0' : '') + now.getMinutes();
    
    // 添加新消息
    const newMessages = this.data.messages.concat([{
      id: this.data.messages.length + 1,
      sender: 'self',
      content: content,
      time: time
    }]);
    
    this.setData({
      messages: newMessages,
      newMessage: ''
    });
    
    this.scrollToBottom();
    
    // 模拟回复
    setTimeout(() => {
      const replyMessages = this.data.messages.concat([{
        id: this.data.messages.length + 2,
        sender: 'other',
        content: '收到，我会尽快下单',
        time: time
      }]);
      
      this.setData({
        messages: replyMessages
      });
      
      this.scrollToBottom();
    }, 1000);
  },
  
  // 滚动到底部
  scrollToBottom() {
    wx.createSelectorQuery()
      .select('#message-list')
      .boundingClientRect(rect => {
        if (rect) {
          wx.pageScrollTo({
            scrollTop: rect.height,
            duration: 0
          });
        }
      })
      .exec();
  }
}) 